package controllers;

import java.util.ArrayList;
import java.util.List;

import models.Localidad;
import models.Pais;
import models.Provincia;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

import play.mvc.Controller;
import play.mvc.With;

@With(Secure.class)
public class Localidades extends Controller {

	public static void getLocalidadesJson(String provincia) {
		String[] result = new String[2];
		
		List<Localidad> localidades = new ArrayList<Localidad>();
		
		if(!provincia.equals("")) {
			localidades = Localidad.find("provincia.id = ? order by descripcion asc", Long.parseLong(provincia)).fetch();
		}
		
		Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
		String json = gson.toJson(localidades);
		
		result[0] = "OK";
    	result[1] = json;
    	renderJSON(result);
	}
	
	public static void getCPPrefijoJson(String localidad) {
		String[] result = new String[3];
		result[0] = "OK";
    	result[1] = "";
    	result[2] = "";
    	Localidad loc = Localidad.findById(new Long(localidad));
		if (loc!=null){
	    	result[1] = loc.codigopostal;
	    	result[2] = loc.prefijo;
		} 
		
    	renderJSON(result);
	}
	
	public static List<Localidad> getLocalidades(String provincia) {
		List<Localidad> localidades = new ArrayList<Localidad>();
		
		if(!provincia.equals("")) {
			localidades = Localidad.find("provincia.id = ? order by descripcion asc", Long.parseLong(provincia)).fetch();
		}
		return localidades;
	}
	
	public static Localidad getSantaFe(List<Localidad> localidades){
		for (Localidad localidad: localidades){
			if ("SANTA FE".equals(localidad.descripcion.trim().toUpperCase()))
				return localidad;
		}
		return null;
	}
}
